❓ Какие проблемы могут возникнуть при использовании synchronized, и как их решать?
1️⃣ Блокировки (Blocking)
— Потоки, ожидающие освобождения блокировки, простаивают, что снижает производительность. — Решение: использовать ReentrantLock, который позволяет гибко управлять блокировками, включая таймауты и прерывания.
2️⃣ Взаимная блокировка (Deadlock)
— Возникает, когда два потока блокируют друг друга, ожидая освобождения ресурсов. — Решение: явный порядок блокировки, использование tryLock() с таймаутом
3️⃣ Отсутствие гибкости
— Synchronized не дает возможности проверки состояния блокировки. — Решение: Использовать Lock, который позволяет проверить, занята ли блокировка (isLocked()) и настроить приоритет выполнения. 4️⃣ Проблема ложного пробуждения (Spurious Wakeup)
— Поток может быть пробужден без явного вызова notify(). — Решение: всегда использовать while, а не if при ожидании wait().
❓ Какие проблемы могут возникнуть при использовании synchronized, и как их решать?
1️⃣ Блокировки (Blocking)
— Потоки, ожидающие освобождения блокировки, простаивают, что снижает производительность. — Решение: использовать ReentrantLock, который позволяет гибко управлять блокировками, включая таймауты и прерывания.
2️⃣ Взаимная блокировка (Deadlock)
— Возникает, когда два потока блокируют друг друга, ожидая освобождения ресурсов. — Решение: явный порядок блокировки, использование tryLock() с таймаутом
3️⃣ Отсутствие гибкости
— Synchronized не дает возможности проверки состояния блокировки. — Решение: Использовать Lock, который позволяет проверить, занята ли блокировка (isLocked()) и настроить приоритет выполнения. 4️⃣ Проблема ложного пробуждения (Spurious Wakeup)
— Поток может быть пробужден без явного вызова notify(). — Решение: всегда использовать while, а не if при ожидании wait().
BY Библиотека собеса по Java | вопросы с собеседований
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Like a stock, you can buy and hold Bitcoin as an investment. You can even now do so in special retirement accounts called Bitcoin IRAs. No matter where you choose to hold your Bitcoin, people’s philosophies on how to invest it vary: Some buy and hold long term, some buy and aim to sell after a price rally, and others bet on its price decreasing. Bitcoin’s price over time has experienced big price swings, going as low as $5,165 and as high as $28,990 in 2020 alone. “I think in some places, people might be using Bitcoin to pay for things, but the truth is that it’s an asset that looks like it’s going to be increasing in value relatively quickly for some time,” Marquez says. “So why would you sell something that’s going to be worth so much more next year than it is today? The majority of people that hold it are long-term investors.”
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.
Библиотека собеса по Java | вопросы с собеседований from cn